Wenn Ghostscript eine Datei nicht rendern/importieren/konvertieren kann, liegt eine der häufigsten Ursachen darin, daß Ghostscript die Schriftarten nicht findet, die zur Darstellung von EPS bzw. PS nötig sind. Dies ist weder eine Schwäche noch ein Fehler von Ghostscript, denn alle EPS/PS-Interpreter müssen auf die richtigen Schriftarten zugreifen können, die PostScript ihnen vorgibt. Genau das kann sicher auch der Fall sein, wenn Sie versuchen EPS/PS-Dateien nach Scribus zu importieren. Einige Anwendungen betten die Schriftarten nicht korrekt ein, weshalb diese dann extern bereitgestellt werden müssen.
Wenn Ghostcript eine Schriftart nicht finden kann, erscheint in der Konsole gewöhnlich eine Fehlermeldung wie:
gs -h AFPL Ghostscript 8.50 (2004-12-10) Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved. blah blah bah... invalidfont Current allocation mode is local Last OS error: No such file or directory und so weiter...
Der Fehler invalidfont bedeutet, daß a: Ghostscript die Schriftart(en) nicht finden kann, daß b: Ghostscript keinerlei Schriftarten finden kann, oder daß c: eine Schriftart im System beschädigt oder verstümmelt ist.
Die Lösung:
$GS_SRC_DIR/toolbin/genfontmap.psDieser kann benutzt werden, um eine Fontmap-Datei zu erstellen - dasselbe machen übrigens jene furchterregenden Perl-Skripte, die im Internet zu finden sind. Diese GhostScript-Datei muß sich nicht automatisch in Ihrer Distribution befinden, weshalb wir uns hier auf das noch gepackte tar-Quellvereichnis (für eine parallele GS-Installation) beziehen. Benutzen Sie möglichst ein genfontmap.ps der von Ihnen verwendeten Ghostscript-Version. Andere funktionieren möglicherweise nicht korrekt. Dies ist ein weiterer guter Grund, weshalb Sie eine neuere Version von Ghostscript beschaffen sollten.
d$ gs -q -sFONTPATH=/usr/local/share/fonts/TrueType ${HOME}/build/ghostscript-8.31/toolbin/genfontmap.ps % This Fontmap generated by genfontmap.ps (AndaleMono) (/usr/local/share/fonts/TrueType/AndaleMo.TTF) ; (Arial-Black) (/usr/local/share/fonts/TrueType/AriBlk.TTF) ; (Arial-BoldItalicMT) (/usr/local/share/fonts/TrueType/Arialbi.TTF) ; (Arial-BoldMT) (/usr/local/share/fonts/TrueType/Arialbd.TTF) ; ... blah blah blah ... (Utopia-Regular) (putr.pfa) ; (Verdana) (/usr/local/share/fonts/TrueType/Verdana.TTF) ; (Verdana-Bold) (/usr/local/share/fonts/TrueType/Verdanab.TTF) ; (Verdana-BoldItalic) (/usr/local/share/fonts/TrueType/Verdanaz.TTF) ; (Verdana-Italic) (/usr/local/share/fonts/TrueType/Verdanai.TTF) ; (Webdings) (/usr/local/share/fonts/TrueType/Webdings.TTF) ; (ZapfChancery-MediumItalic) /URWChanceryL-MediItal ; (ZapfDingbats) /Dingbats ; genfontmap completed OK. 42 new fonts added.
Sie leiten also die Standardausgabe um oder übertragen (mittels kopieren/einfügen) alles aus der % This Fontmap..
-Zeile in einen Texteditor, um die Fontmap zu speichern, kopieren die erstellte FontMap-Datei ins Schriftarten-Verzeichnis und fügen das Verzeichnis dann Ihrer GS_LIB-Umgebungsvariablen hinzu:
Die genaue Pfadbezeichnung kann variieren.
$ gs -q -sFONTPATH=/usr/local/share/fonts/TrueType ${HOME}/build/ghostscript-8.50/toolbin/genfontmap.ps > /tmp/Fontmap $ sudo cp /tmp/Fontmap /usr/local/share/fonts/Truetype $ export GS_LIB=/usr/local/share/fonts/TrueType:$GS_LIB
Nun können Sie Scribus von der Konsole aus starten. GhostScript wird die Schriftarten finden und die EPS/PS-Dateien problemlos importieren.
Alternativ können Sie Ihre GS-lib/Fontmap editieren und die neue Fontmap als Quelle eintragen - oder Sie hängen die neuen Fontmap-Einträge an Ihre Main-lib/Fontmap an.
Obwohl sich die Ghostscript-Dokumentation größte Mühe gibt, einen anderen Anschein zu erwecken, sind TrueType-Schriften in Ghostscript gut unterstützt und einfach zu verwenden.
Ganz wichtig ist hierbei, daß die Verzeichnisse, die in der GS_FONTPATH-Umgebungsvariablen und im -sFONTPATH-Argument stehen, alle Schriftart-Typen enthalten dürfen, die unterstützt werden - und nicht allein PostScript-Schriftarten, wie es die Dokumentation darstellt.
$ export GS_FONTPATH=$MY_FONT_DIR:$HOME/.fonts $ scribus
Der EPS-Import in Scribus ist verknüpft mit dem Schriftarten-Pfad von Ghostscript. Wenn GS die Schriftarten nicht findet, so werden sie kommentarlos ersetzt. Wenn Sie das nicht möchten, sorgen Sie also unbedingt dafür, daß GS diese finden kann.
Es ist zu empfehlen, daß Sie für Ihre Schriftarten-Verzeichnisse Fontmap-Dateien erstellen und diese der GS_LIB-Umgebungsvariablen hinzufügen, denn hierdurch kann GS seine Schriftarten künftig schneller laden. Tests haben bestätigt, daß - sobald GS informiert ist, wo sich die Schriftarten befinden, der EPS-Import in Scribus munter auf lokale Schriftarten zugreift, um dort eine passende zu finden, die von EPS gewünscht, jedoch nicht eingebettet wurde.